Release 10.1A: OpenEdge Development:
Programming Interfaces
Creating and maintaining a cryptography policy
The Progress 4GL allows you to establish a consistent set of defaults for handling cryptography in an application using the
SECURITY-POLICYsystem handle. These cryptography settings apply globally for the duration of a 4GL session. Table 2–12 lists the attributes that you can read and set for this system handle. These attributes are both readable and setable unless otherwise indicated.
For information on OpenEdge-supported defaults and options for setting these attributes, see the OpenEdge Development: Progress 4GL Reference .
Caution: In general, you must manage the values that you set for a cryptography policy in a safe manner, including generation, storage, and transport. Improper management of these values can result in loss of data.Setting a symmetric encryption algorithm
The encryption algorithm setting determines how the 4GL encryption and decryption functions (see the "Implementing symmetric cryptography in the 4GL" section) work to protect data confidentiality in your application. This setting is actually a combination of three elements expressed in the following form:
These three elements specify:
AAAAn alpha or alphanumeric abbreviation for the algorithm.
MMMAn alpha abbreviation for the mode to use.
nA numeric value for the key size to use.
The OpenEdge default setting for the
SYMMETRIC-ENCRYPTION-ALGORITHMattribute is"AES_CBC_128", which means the AES algorithm in CBC mode using a 128-bit key. The combination of algorithm, mode, and key size determines the strength and speed of the encryption. You can accept the OpenEdge default or choose a different setting, depending on your application requirements. Any setting you choose for theSYMMETRIC-ENCRYPTION-ALGORITHMattribute is used by each instance of a 4GL encryption/decryption function unless you specify an override for that function.For more information on encryption algorithms, modes, and cryptographic keys, see the sections on cryptography in OpenEdge Getting Started: Core Business Services .
Setting an encryption key
You can set the
Caution: Note that the result of setting theSYMMETRIC-ENCRYPTION-KEYattribute to anyRAW,MEMPTR,CHARACTER, orLONGCHARvalue that conforms to the specified key size of your algorithm setting. ARAWorMEMPTRvalue specifies a raw binary value for the key. ACHARACTERorLONGCHARvalue creates a PBE, PKC#5-compliant, binary key with a default salt value.SYMMETRIC-ENCRYPTION-KEYattribute is unreadable to prevent it against access by memory scanners and debuggers. You must ensure that any source for this value is overwritten in memory, or otherwise protected from unauthorized access.The 4GL also provides a number of facilities for generating symmetric keys of various types. For more information, see the "Generating encryption keys" section.
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |